# -*- coding: utf-8 -*-

#    OriginDB
#    Copyright (C) 2010  Brian Plattenburg <alphastryk@gmail.com>
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License along
#    with this program; if not, write to the Free Software Foundation, Inc.,
#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

import unittest
import sys
import yaml

sys.path.append('../')

from reaction import Catalyst
from testCommon import *
import catalystData

class CatalystTest(unittest.TestCase):

	def setUp(self):
		setupDB()
		return

	def tearDown(self):
		# Not Yet Implemented
		return

	def testInsert(self):
		cat = Catalyst(catalyst1)
		cat.insert()
		return

	def testUpdate(self):
		cat = Catalyst(catalyst1)
		cat.insert()
		cat.forceUpdate()
		return

	def testLoadFunction(self):
		cat = Catalyst(catalyst1)
		cat.insert()
		cat.load()
		return

	def testLoadValidity(self):
		cat = Catalyst(catalyst1)
		cat.insert()
		cat2 = Catalyst.load(cat)
		self.AssertEqual(cat, cat2)
		return
		
#~ class CatalystYamlTest(unittest.TestCase):
	
	#~ def testLoadStringYaml(self):
		#~ print "Not Implemented"
		#~ pass
		
	#~ def testDumpYaml(self):
		#~ print "Not Implemented"
		#~ pass
		
		
class CatalystDBTest(unittest.TestCase):
	pass
	
	
if __name__ == "__main__":
	unittest.main()   
